package ar.edu.utn.frsf.tpae.a2012.g02.util;

import java.util.Date;

import ar.edu.utn.frsf.tpae.a2012.g02.models.CajaAhorro;
import ar.edu.utn.frsf.tpae.a2012.g02.models.Cliente;
import ar.edu.utn.frsf.tpae.a2012.g02.models.CuentaCorriente;
import ar.edu.utn.frsf.tpae.a2012.g02.models.Movimiento;
import ar.edu.utn.frsf.tpae.a2012.g02.models.MovimientoPago;

public class CreadorDatos {

	// CLIENTE
	final static String nroCliente = "1";
	final static String dni = "12345678";
	final static String apellido = "Perez";
	final static String nombre = "Juan";
	final static String cuil = "1233456789";
	final static Date fechaAlta = new Date();
	final static String direccionPostal = "3100";
	final static String telefono = "4240694";
	final static String mail = "seba@hotmail.com";

	// CUENTA
	final static long nroCuentaCorriente = 123456789;
	final static long nroCajaAhorro = 123456777;
	final static Date fechaApertura = new Date();
	final static double saldoActual = 999.99;

	// CUENTA CORRIENTE
	final static int maxOperacionesMensuales = 100;
	final static double costoMantenimiento = 999.99;
	final static double limiteSaldoNegativo = 10000.00;
	final static double interesSaldoNegativo = 65.00;

	// CAJA AHORRO
	final static double interesMensual = 10.00;

	// MOVIMIENTO
	final static private Date fecha = new Date();
	final static private double monto = 99.99;

	// MOVIMIENTO PAGO
	final static private String codigoPago = "123456789";
	final static private String comentarioUsuario = "Some comment";

	// METODOS
	static public Cliente getCliente() {
		Cliente cliente = new Cliente();
		cliente.setDni(dni);
		cliente.setNombre(nombre);
		cliente.setApellido(apellido);
		cliente.setNroCliente(nroCliente);
		cliente.setCuil(cuil);
		cliente.setFechaAlta(fechaAlta);
		cliente.setTelefono(telefono);
		cliente.setDireccionPostal(direccionPostal);
		cliente.setMail(mail);
		return cliente;
	}

	static public CuentaCorriente getCuentaCorriente() {
		CuentaCorriente cuentaCorriente = new CuentaCorriente();
		cuentaCorriente.setNroCuenta(nroCuentaCorriente);
		cuentaCorriente.setFechaApertura(fechaApertura);
		cuentaCorriente.setSaldoActual(saldoActual);
		cuentaCorriente.setMaxOperacionesMensuales(maxOperacionesMensuales);
		cuentaCorriente.setCostoMantenimiento(costoMantenimiento);
		cuentaCorriente.setLimiteSaldoNegativo(limiteSaldoNegativo);
		cuentaCorriente.setInteresSaldoNegativo(interesSaldoNegativo);
		return cuentaCorriente;
	}

	static public CajaAhorro getCajaAhorro() {
		CajaAhorro cajaAhorro = new CajaAhorro();
		cajaAhorro.setNroCuenta(nroCajaAhorro);
		cajaAhorro.setFechaApertura(fechaApertura);
		cajaAhorro.setSaldoActual(saldoActual);
		cajaAhorro.setInteresMensual(interesMensual);
		return cajaAhorro;
	}

	static public Movimiento getMovimiento() {
		Movimiento movimiento = new Movimiento();
		movimiento.setFecha(fecha);
		movimiento.setMonto(monto);
		return movimiento;
	}

	static public MovimientoPago getMovimientoPago() {
		MovimientoPago movimientoPago = new MovimientoPago();
		movimientoPago.setFecha(fecha);
		movimientoPago.setMonto(monto);
		movimientoPago.setCodigoPago(codigoPago);
		movimientoPago.setComentarioUsuario(comentarioUsuario);
		return movimientoPago;
	}
}
